import type { IUserInfoVo } from '@/api/types/login'
import { API_DOMAINS, http } from '@/http/request/alova'
// 会员等级
export interface LevelBasic {
  id: number
  name: string
  start: number
  end: number
  [key: string]: any
}

// 获取会员等级分类
export function getLevelInfo() {
  return http.Get<LevelBasic[]>('/api/index/userlevel', {
    meta: { domain: API_DOMAINS.SECONDARY }, // 用于切换请求地址
  })
}

// 获取用户个人信息(包含次卡信息)
export function getUserData(params?: AnyObject) {
  return http.Get<IUserInfoVo>('/api/index/profile', {
    params: {
		...params,
		timestamp: new Date().getTime()
	},
    meta: { domain: API_DOMAINS.SECONDARY }, // 用于切换请求地址
  })
}

// 脱离关系
export function userUnlink(data?: AnyObject) {
  return http.Post('/api/index/unlink', data)
}

// 用户积分记录
export function getUserScoreData() {
  return http.Get('/api/index/scorelog')
}

// 修改昵称
export function changeNickname(data: AnyObject) {
  return http.Post('/api/user/changeNickname', data)
}

// 修改用户头像
export function changeAvatar(data: AnyObject) {
  return http.Post('/api/user/changeAvatar', data)
}


// 加入关系
export function userInvite(data?: AnyObject) {
  return http.Post<Record<string, any>>('/api/invite/invite', data, {
    meta: {
      toast: false,
    },
  })
}
